/**
 * .size()--返回容器的实际大小(已使用空间)
 * .sort()--对容器进行排序
 * .merge(list<> b)--对链表进行归并
 * .reverse--对链表进行反转
 * .insert()--在指定位置插入一个区间的元素
 * .pop_back()--从容器尾部删除一个元素
 * .push_front()--在链表头部插入一个元素
 * .splice()--把另一个链表连接到当前链表
 * .remove(val)--删除所有元素值等于vel的元素
 * .remove_if(_pr1_perd)--删除所有满足条件的元素_pr1_perd是一个函数
 * .unique()--删除链表中相邻的重复元素，重复元素只保留一个
*/
#include <iostream>
#include <list>
using namespace std;
template<typename T>
void print(list<T> a){
    for(auto &val:a){
        cout<<val<<" ";
    }
    cout<<endl;
}
int main()
{
    list<int> a({2,3,41,53,12,4});
    print(a);
    a.reverse();//反转链表
    print(a);
    a.sort();//链表排序
    print(a);
    list<int> b({2,31,4,61,2});
    a.merge(b);//归并链表
    print(a);
    a.sort();
    print(a);
    a.push_back(3);
    print(a);
    return 0;
}